export default {
	showToast(title) {
		uni.showToast({
			title: title,
			icon: 'none'
		})
	},
	navigateTo(url) {
		uni.navigateTo({
			url: url
		})
	},
	//节流阀,防止用户在一定时间内多次点击
	throttle(fn, time) {
		//3. 通过闭包保存一个 "节流阀" 默认为false
		let temp = false;
		return function() {
			//8.触发事件被调用 判断"节流阀" 是否为true  如果为true就直接trurn出去不做任何操作
			if (temp) {
				return;
			} else {
				//4. 如果节流阀为false  立即将节流阀设置为true
				temp = true; //节流阀设置为true
				//5.  开启定时器
				setTimeout(() => {
					//6. 将外部传入的函数的执行放在setTimeout中
					fn.apply(this, arguments);
					//7. 最后在setTimeout执行完毕后再把标记'节流阀'为false(关键)  表示可以执行下一次循环了。当定时器没有执行的时候标记永远是true，在开头被return掉
					temp = false;
				}, time);
			}
		};
	},
	//上传图片自定义数量
	upImage(num) {
		return new Promise(resolve => {
			uni.chooseImage({
				count: num, //默认9
				sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图，默认二者都有
				sourceType: ['album'], //从相册选择
				success: function(res) {
					// let url = JSON.stringify(res.tempFilePaths)
					// res.tempFilePaths[0]
					resolve(res);
				}
			});
		})
	},
	// 预览图片   使用可多张可单张 多张就传数组arr，和当前的index，如果网络地址也要传一下 
	//单张直接传地址就行
	previewImage({
		arr = [],
		http = "",
		i = 0,
		url = ''
	}) {
		// console.log(i);
		// console.log(url);
		// console.log(arr);
		//准备一个装图片路径的  数组imgs
		if (arr.length == 0) {
			uni.previewImage({
				urls: [url],
				current: i
			})
			return;
		}

		let imgs = arr.map(item => {
			//只返回图片路径
			return http + item
		})
		uni.previewImage({
			urls: imgs,
			current: i
		})
	},
	yearFormat(num) {
		//过滤器 用于格式化时间
		let date = new Date(num); //时间戳为10位需*1000，时间戳为13位的话不需乘1000
		let year = date.getFullYear();
		let month = ("0" + (date.getMonth() + 1)).slice(-2);
		let sdate = ("0" + date.getDate()).slice(-2);
		let hour = ("0" + date.getHours()).slice(-2);
		let minute = ("0" + date.getMinutes()).slice(-2);
		let second = ("0" + date.getSeconds()).slice(-2);
		// 拼接
		let result = year + '-' + month
		// 返回
		return result;
	},
	removeDomainFromUrl(url) {
		// 匹配 http:// 或 https:// 开头的 URL  
		const pattern = /^https?:\/\/(?:www\.)?([^/]+)/;
		const matches = url.match(pattern);

		if (matches && matches.length > 1) {
			// 截取匹配到的域名部分  
			const domain = matches[1];

			// 构造一个新的URL字符串，去掉原始域名部分  
			const remainingUrl = url.replace(new RegExp(`^https?://(?:www\\.)?${domain}/`), '/');

			// 如果剩下的部分以斜杠开头，则保留斜杠；否则，移除开头的斜杠  
			return remainingUrl.startsWith('/') ? remainingUrl : `/${remainingUrl}`;
		} else {
			// 如果没有匹配到域名，则返回原始URL  
			return url;
		}
	},

	// 验证身份证号
	hideIdCardMiddle(data) {
		let reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9X]$/;
		let s = reg.test(data)
		return s;
	},
	// 验证手机号码
	validatePhoneNumber(data) {
		var reg = /^1[3-9]\d{9}$/;
		return reg.test(data);
	},
	//隐藏手机号码
	phoneNumShow(num) {
		//获取到手机号码字段
		let mphone = num.substring(0, 3) + '****' + num.substring(7);
		return mphone
	},
	//金额保留两位
	conversion_km(val) {
		const kilometers = val / 1000;
		return parseFloat(kilometers.toFixed(1)); // 转换为字符串并保留两位小数，然后再转回数字 
	}


}